package com.sky.service;

import com.sky.dto.ReportDto;
import com.sky.vo.OrderReportVO;
import com.sky.vo.SalesTop10ReportVO;
import com.sky.vo.TurnoverReportVO;
import com.sky.vo.UserReportVO;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * TODO
 *
 * @Author Yjr
 * @Date 2025/6/2 21:08
 */
public interface ReportService {

    /**
     * 营业额数据统计
     * @return
     */
    TurnoverReportVO turnoverStatistics(ReportDto dto);

    /**
     * 用户数据统计
     * @param dto
     * @return
     */
    UserReportVO userStatistics(ReportDto dto);

    /**
     * 订单统计
     * @param dto
     * @return
     */
    OrderReportVO ordersStatistics(ReportDto dto);

    /**
     * 销量排名统计
     * @param dto
     * @return
     */
    SalesTop10ReportVO top10(ReportDto dto);

    /**
     * 导出运营数据报表
     * @param response
     */
    void exportBusinessData(HttpServletResponse response) throws IOException;
}
